Computer Science 397T                                                                           Syllabus for Fall 2012

Dr. Carol E. Wolf                                                                                   Office 215

Website: http://csis.pace.edu/~wolf                                                           E-mail: cwolf@pace.edu

Office Hours: Mondays and Wednesdays, 1:30-3:30.                                   Phone: 212-346-0799

 

Text:  Sam Ruby, Dave Thomas and David Heinemeier Hansson, Agile Web Development with Rails, Fourth edition, The Pragmatic Programmers, 2011

The text is available in PDF form from the Pragmatic Programmers’ website, http://www.pragprog.com.

 

  Week

Topic

 

  1

Lecture: Three tier applications, Ruby and Rails history

Lab: Install Ruby on Rails on laptops and set up an application using scaffold

  2

Lecture: Ruby language,

Lab:  Cascading Style Sheets, Seeds

  3

Lecture:  Model-View-Controller paradigm in a Rails project, Views

Lab:  Validation and Testing

  4

Lecture: Controller and ERB

Lab: Controller, Views, Forms and Routes

  5

Lecture:   Database design, model and migrations

Lab: Add an image column and modify views

  6

Lecture: More HTML forms, more on Ruby

Lab: Add radio buttons, checkboxes and choice boxes to forms

  7

Lecture: Controller and routes, requests and responses

Lab: The home page controller: list and find

  8

Lecture: The controller, some Ajax, XML and JSON

Lab: The manager’s controller: create, update and delete

  9

Lecture: Security

Lab: Login for the manager

  10

Lecture: Sessions

Lab: A shopping cart

  11

Lecture: Testing

 

  12

Lecture: Introduction to SQL, Apache and Java Server Beans

 

  13

Presentations

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Students are required to do all ten labs.  They will be assessed during class time.  They are due one week after assignment and will not be counted late until after two weeks.  Students may work ahead. The final grade will mainly be based upon a project to be completed over the course of the semester.  This should be a Rails application with at least two database tables, a cascading style sheet and a login.  It may be considerably more elaborate.  Students may either work with one partner or alone.  Possible applications could involve sports teams, clubs, bank accounts, stock portfolios, libraries or some other use that involves a lot of data.  Choose realistic data for your database tables. Projects will be demonstrated either during the final class session on December 10 or during the scheduled final exam period.